Camera applications in a handheld device

ABSTRACT

A hand held device containing at least one camera can perform various functions. In some embodiments, the device may have a primary lens for focusing on distant objects, and a secondary lens that may be combined with the primary lens for focusing on up-close objects. The secondary lens may be movable in and out of the optical path to permit such a transition.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. application Ser. No. 13/376,621filed Dec. 7, 2011, which is a national stage application ofinternational patent application PCT/US2009/069804 filed Dec. 30, 2009,which is in turn derived from U.S. provisional patent application Ser.No. 61/187,520, filed Jun. 16, 2009, and claims priority to those filingdates for all applicable subject matter.

BACKGROUND

As the technology of handheld electronic devices improves, various typesof functionality are being combined into a single device, and the formfactor of these devices is becoming smaller. These devices may haveextensive processing power, virtual keyboards, wireless connectivity forcell phone and internet service, and cameras, among other things.Cameras in particular have become popular additions, but the camerasincluded in these devices are typically limited to taking low resolutionsnapshots and short video sequences. The small size, small weight, andportability requirements of these devices prevents many of the moresophisticated uses for cameras from being included. For example, theytypically use a lens with a fixed focal length and fixed field of viewbecause a zoom lens would be too heavy and require more physical depththan the body of the device permits. For these reasons, an optical zoomlens may be impractical for small and relatively inexpensive handhelddevices. In other areas, consumer cameras have not been useful in barcode applications because bar codes are designed for specializedequipment. This prevents many useful applications for bar codes frombeing implemented.

BRIEF DESCRIPTION OF THE DRAWINGS

Some embodiments of the invention may be understood by referring to thefollowing description and accompanying drawings that are used toillustrate embodiments of the invention. In the drawings:

FIG. 1 shows a multi-function handheld user device with multiplebuilt-in camera lenses, according to an embodiment of the invention.

FIGS. 2A-2D show different optical paths that may be used to directlight from the lenses to the optical sensors(s), according to variousembodiments of the invention.

FIG. 3 shows a flow diagram of a method of operating a camera with twolenses, according to an embodiment of the invention.

FIG. 4 shows a multi-function handheld user device with a built-incamera, according to an embodiment of the invention.

FIG. 5 shows a camera system, according to an embodiment of theinvention. FIG. 6 shows a camera reading a bar code, according to anembodiment of the invention.

FIG. 7 shows a flow diagram of a method of using a camera to read a barcode, according to an embodiment of the invention.

FIG. 8 shows a flow diagram of a method of using bar code values,according to an embodiment of the invention.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth.However, it is understood that embodiments of the invention may bepracticed without these specific details. In other instances, well-knowncircuits, structures and techniques have not been shown in detail inorder not to obscure an understanding of this description.

References to “one embodiment”, “an embodiment”, “example embodiment”,“various embodiments”, etc., indicate that the embodiment(s) of theinvention so described may include particular features, structures, orcharacteristics, but not every embodiment necessarily includes theparticular features, structures, or characteristics. Further, someembodiments may have some, all, or none of the features described forother embodiments.

In the following description and claims, the terms “coupled” and“connected,” along with their derivatives, may be used. It should beunderstood that these terms are not intended as synonyms for each other.Rather, in particular embodiments, “connected” is used to indicate thattwo or more elements are in direct physical or electrical contact witheach other. “Coupled” is used to indicate that two or more elementsco-operate or interact with each other, but they may or may not be indirect physical or electrical contact.

As used in the claims, unless otherwise specified the use of the ordinaladjectives “first”, “second”, “third”, etc., to describe a commonelement, merely indicate that different instances of like elements arebeing referred to, and are not intended to imply that the elements sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

Various embodiments of the invention may be implemented in one or anycombination of hardware, firmware, and software. The invention may alsobe implemented as instructions contained in or on a computer-readablemedium, which may be read and executed by one or more processors toenable performance of the operations described herein. Acomputer-readable medium may include any mechanism for storinginformation in a form readable by one or more computers. For example, acomputer-readable medium may include a tangible storage medium, such asbut not limited to read only memory (ROM); random access memory (RAM);magnetic disk storage media; optical storage media; a flash memorydevice, etc.

Various embodiments of the invention pertain to novel features in adevice containing at least one camera that permit novel uses for thedevice. In some embodiments, digitized images taken with two or morecamera lenses with fixed focal lengths may be combined in ways thatpermit novel uses for the device. In other embodiments, a devicecontaining a camera may perform as a bar code reader, and may wirelesslytransmit and/or visually present a bar code to other devices.

Dual Cameras for Zoom Emulation and Other Functions

Various embodiments of the invention provide two separate camera lenseswith different fixed focal lengths and correspondingly different fixedfields of view. By taking a picture of the same scene with both lenses,one picture being a close-up version of a portion of the other, the twoimages may enable various kinds of subsequent processing. In someembodiments, the narrow field of view lens may cover a field of viewequal to, or slightly larger than, the smallest region within the widefield of view that will produce acceptable digital resolution whenenlarged to full size. In this manner, an accurate digital comparisonmay be made between the full image of one picture and the selectedportion of the other picture.

In the simplest action, the two pictures may simply be presented to ahuman evaluator to subjectively determine which is the preferredpicture. In another action, the two images may be processed and mergedto emulate the effects of a zoom lens, with better resolution than couldbe obtained with a simple digital zoom (i.e., cropping the originalpicture, which reduces the number of original pixels, even if the resultis then enlarged to have more final pixels). Other advantageous resultsmay also be available, such as using the separation between the twolenses to produce stereoscopic visual information, and such as comparingthe two images to enable motion detection/stabilization.

These capabilities may be enabled in two separate embodiments. In oneembodiment, each lens may have its own separate image sensor,effectively providing two separate cameras which may take theirrespective pictures at the same time if desired. In the otherembodiment, the same image sensor may be used for both lenses, requiringthat the two pictures be taken at different times. An optical selectionsystem may be used to select which image reaches the sensor at a giventime. This can be handled in various ways, such as but not limitedto: 1) using a movable reflective device to direct the optical path fromeach lens to the image sensor at different times, or 2) directing theoptical path from both lenses to the image sensor at the same time, butusing a light-blocking device (e.g., a shutter) to prevent the lightfrom the non-selected lens from reaching the image sensor.

Information derived from the two pictures may be used in various ways,such as but not limited to:

1) One of the two pictures may be selected for use, based at least inpart on objective criteria and/or the subjective criteria of the humanmaking the selection.

2) The narrow field of view image from one lens and the wide field ofview image from the other lens may be digitally processed and combinedto create an intermediate field of view image. The fine detail availablefrom the narrow field of view image may be used to enhance portions ofthe wide field of view image in ways that would be unavailable from asimple digital zoom function. Multiple different intermediate field ofview images may be produced in this manner, effectively emulating theresults that could be obtained from an optical zoom lens. In someembodiments, this processing may take place in the camera or the devicecontaining the camera, and the resulting intermediate field of viewimage may be presented to the user on the camera device's display. Inother embodiments, this processing may take place in a separate deviceafter downloading the two images to that separate device.

3) Since the two lenses are separated by a known distance, they willeach have a slightly different angle of view of the same object in thepictures, enabling stereoscopic information and effects to be produced.If the full image from the narrow field of view lens is compared to thecorresponding portion of the image from the wide field of view lens, adirect stereoscopic effect may be produced from the two images, similarto what would be obtained if both lenses had the same field of view andtheir full images were compared.

4) If the two images are taken at separate times, any movement of thescene between one image and the other may be detected by comparingcorresponding portions of both pictures. As before, a portion of oneimage may have to be enlarged to enable a direct comparison. If movementis detected, this information may be handled in various ways, such asbut not limited to: 1) notifying the user so that the user may decidewhat action to take, 2) keeping one image but discarding the other, 3)discarding both images, 4) keeping both images but cancelling anyfurther processing, since the results may not be accurate, 5) using thedifference between the images and different times the pictures weretaken to calculate the amount or speed of the movement.

FIG. 1 shows a multi-function handheld user device with multiplebuilt-in camera lenses, according to an embodiment of the invention.Device 110 is shown with a display 120, a first camera lens 130 and asecond camera lens 140. The remaining portions of the camera(s), as wellas a processor, memory, radio, and other hardware and softwarecomponents, may be contained within the device and are not visible inthis figure. Although the illustrated device 110 is depicted as having aparticular shape, proportion, and appearance, with the camera lenseslocated in particular locations on one of the two large surfaces, thisis for example only and the embodiments of the invention may not belimited to this particular physical configuration. For example, in someembodiments the lenses may be located closer together, which couldreduce parallax effects between the two images. In some embodiments thelenses may be located on a smaller surface (i.e., along an edge) of thedevice, which would allow for longer straight-line optical paths. Insome embodiments the lenses 130, 140 may be on the opposite side of thedevice from the display 120, so that the display can act as a cameraviewfinder for the user. In some embodiments the overall shape of thedevice 110 may be completely different than shown. In some embodiments,device 110 may be primarily a camera device, without much additionalfunctionality. In other embodiments, device 110 may be a multi-functiondevice, with many other functions unrelated to the camera.

FIGS. 2A-2D show different optical paths that may be used to directlight from the two lenses to the optical sensors(s), according tovarious embodiments of the invention. Note: the term ‘lens’, as used inthis document, may include one or more pieces of optically refractivematerial arranged in a defined position to each other so that lighttraveling through all the pieces will be focused at a particular plane.The illustrated lens 210 shows three such pieces in cross section, witha double convex piece attached to a double concave piece, with a anotherdouble convex piece physically separated from both of them. Lens 220shows two double convex pieces physically separated. Although any one ofthese pieces, in isolation, could be considered a lens, a collection ofone or more such pieces in a defined physical position to each other,able to pass the same beam of light and focus it at a defined plane,shall be referred to as a ‘lens’ in this document. The particularquantity, positions, and shapes of these pieces shown in the drawingsare for example only, and should not be interpreted as a limitation onthe various embodiments of the invention. Other optical components notshown in the drawings, including lenses, may also be included. The term‘optical component’, as used in this document, includes any physicalobject that changes the direction of light, through refraction and/orreflection, with the purpose of focusing an optical image at aparticular location.

FIG. 2A shows a separate optical sensor for each lens. Light travelingthrough lens 210 may produce a focused image on the first optical sensor230, while light traveling through lens 220 may produce a focused imageon the second optical sensor 240. In some embodiments, an optical sensormay comprise a rectangular array of individual light sensors, whichcollectively can sense a two-dimensional image that is focused on thearray by a lens. Electrical signals from the optical sensor may bestored as digital values representing the image captured by the lightsensors.

FIG. 2B shows a single optical sensor 230 for both of lenses 210 and220, with a reflective surface (e.g., a mirror or prism) 260 being usedto select which image will reach the optical sensor. When reflectivesurface 260 is in the position shown, the light from lens 220 reflectsoff another reflective surface 250 and then off reflective surface 260to reach optical sensor 230, while the light from lens 210 is blockedoff and doesn't reach optical sensor 230. When reflective surface 260 isin the alternate position, the light from lens 210 reaches opticalsensor 230 unimpeded, while the light from lens 220 and reflectivesurface 250 is reflected in a different direction than optical sensor230.

FIG. 2C shows a single optical sensor 230 for both lenses, similar tothat shown in FIG. 2B, but without the need for a movable reflectivedevice. In this embodiment, object 270 may be a beam-combiner thatreflects the light from lens 210 to optical sensor 230, and can alsopass the light from lens 220 and reflective surface 250 so that it alsoreaches optical sensor 230. However, to prevent the light from bothlenses from simultaneously being detected by optical sensor 230, eachlens may have an associated light-blocking device 280, 290 (e.g., ashutter) to block off the image from one lens while the image from theother lens is being sensed. By redirecting the light from each lens witha reflector or a beam combiner so that much of the optical path isperpendicular to the thin ‘depth’ dimension of the camera, and byplacing the optical sensor 230 at an angle to receive this redirectedlight, a relatively long optical path may be accommodated in a very thincamera. Note that the drawings are not shown in proportion—the portionof the optical path that travels through the lens to the reflectivesurface (or beam combiner) may be shorter than the portion of theoptical path that travels from the reflective surface (or beam combiner)to the optical sensor.; This technique of making an ‘L’ shaped opticalpath may be used with any feasible lens and sensor configuration,including all of the ones shown in this document, to permit a longoptical path in a thin camera. When that technique is combined withusing a fixed focal-length lens rather than a zoom lens, an extremelythin cameral is possible, whether that camera is using two lenses orjust a single lens.

FIG. 2D shows a single front lens with two sensors and additionaloptics. In this embodiment, a beam-splitter 275 splits the light fromlens 225. Part of the light travels to optical sensor 230, while part ofthe light travels through internal optical component 227 before reachingoptical sensor 240. The internal lens changes the focal length so thatthe image reaching optical sensor 240 has a different field of view thanthe image reaching optical sensor 230. This technique essentiallyprovides two lenses, similar to lenses 210, 220 of FIG. 2A (providing awide field of view at one sensor and a narrow field of view at the othersensor), but the two lenses share the optical pieces at 225, and bothimages will be coaxial (i.e., the center of both images will be at thesame spot in the picture). For some uses, the coaxial feature mayeliminate the need to digitally shift one of the recorded images tocompensate for parallax.

In any embodiment, an optical path may be reflected one or more times(such as the right-angle reflection shown in FIG. 2B) so that a longoptical path may be accommodated within the narrow dimensions of thedevice 110. In some embodiments, a reflective surface may have a convexor concave shape so that it effectively acts as a lens as well as areflector. Although most of the descriptions in this document refer totwo lenses, additional lenses may also be used. For example, a thirdlens at the surface of the camera, possibly located near a third edge ofthe device, could extend the effective zoom range by providing an imagewith an even narrower field of view (greater magnification). By beinglocated off the center-to-center axis of the other two lenses, it mayalso permit more robust stereo distance/displacement calculations.

FIG. 3 shows a flow diagram of a method of operating a camera with twolenses, according to an embodiment of the invention. In the illustratedflow diagram 300, at 310 a first picture may be taken using the firstlens, which in this example is the lens with the wider field of view,and the resulting first image is recorded by being stored in a digitalformat. At 320 a second picture may be taken using the second lens(having the narrower field of view), and the resulting second image isstored. As previously indicated, the pictures may generally be taken atslightly different times (in the order indicated or the reverse of thatorder), but in embodiments having two cameras may be taken at the sametime. As indicated at 330, the recorded images may be processed invarious ways, described in the subsequent portions of FIG. 3. One, none,or multiple ones of these four processes may be used on the two recordedimages.

In the first process, one of the two stored images may be selected at340 for further use. For example, a person may determine the first imageof a landscape is more aesthetically pleasing than the second image of asmall portion of that landscape, and may further edit the first image toproduce an artistic photo of the landscape. In another example, a personmay determine that the second image, showing a close up of a flower, ispreferable to the first image showing the entire garden, and select thesecond image for further processing. In some examples, both images maybe deemed suitable for retention and subsequent use.

In the second process, the effects of a zoom lens may be emulated.Although a simple digital zoom may be created with the first image aloneby simply selecting a portion of the first image and enlarging it tofull size, the digitally enlarged first image may not have sufficientresolution because the original pixel count prevents any improvement inresolution. However, since the second image provides a more detaileddescription of a portion of the first image, at 350 the more detailedtextures of the second image may be applied to the corresponding partsof the digitally enlarged portion of the first image. In addition, ifportions of the first image fall outside the view of the second imagebut are determined to have similar textures (e.g., the grass in a field,the bricks on a building, etc.), these more detailed textures may alsobe applied to those areas. This texture mapping may be performed eitherautomatically or by the user. After applying the more detailedinformation from the second image to the first image, at 352 themodified first image may be cropped and enlarged to provide anintermediate field of view that is somewhere between the fields of viewprovided by the original first and second images.

Although the actions of 350 and 352 are described in a particular order,they may be performed in the reverse order, or performed incrementallyby switching back and forth between 350 and 352. For example, the imagefrom the wide field-of-view lens may be digitally zoomed(computationally magnified) until further digital zooming would resultin unacceptably poor pixel resolution in the areas of interest(presumably near the center of the image). Then the narrow field of viewimage may be applied to the relevant portions of the wide field of viewimage to increase image detail in the latter. Then the resultant imagemay be digitally zoomed even further.

In the third process of FIG. 3, the separation distance between thefirst and second lenses may be used to derive stereoscopic information.This separation distance provides a slightly different angle of view ofthe same object between the first and second images. Since the originalfields of view are also different, the process may begin at 360 bycomparing the second image only with the corresponding part of the firstimage, and at 362 deriving stereoscopic information about one or moreobjects depicted in the images based on the slightly different angle ofview. One technique is to determine the position of an object in thesecond image and determine the position of the same object in thecomparably enlarged portion of the first image. The displacement of theobject between images, along with a knowledge of the separation distancebetween the two lenses, may be used to determine the distance of theobject from the camera. The distances of multiple objects from thecamera may be determined in this manner, and used to construct a layeredmapping of the objects. For example, a narrower depth of field may besimulated by blurring objects that are outside a predetermined range ofdistances from the camera. In another technique, the depth images may becombined with GPS information to develop a physical, 3D model of thesurroundings. In another example, the two images (the second image andthe enlarged portion of the first image that corresponds to it) maybeplaced into a stereoscopic viewer, thus providing a stereoscopic viewingexperience without having to derive further data on the objects in theimages.

In the fourth process, to be used only when the two pictures are takenat different times, the two images may be used to derive motioninformation. This information may be used to detect motion of the camera(e.g., camera shake), or may be used to calculate the motion of anobject in the images. After adjusting the fields of view so that bothimages represent the same field of view, at 370 the positions of one ormore corresponding objects in the two images may be compared to see ifthey are located at the same position in both images. If not, thedifference in position between the two images is compared at 372, andthe amount of motion implied by that difference may be calculated at374. This information may be used in various ways at 376.

If the entire image appears to have shifted, and in the same direction,it may be assumed that this movement was caused by motion of the camerabetween pictures (e.g., deliberate panning or unintentional camerashake). This determination may be handled in various ways, such as butnot limited to: 1) the user may be alerted that the camera moved, so theuser may determine what actions to take, 2) further processing of theimages may be cancelled, and/or the images discarded, 3) one image maybe digitally shifted back until it is equivalent to a picture taken froma motionless camera. On the other hand, if an object appears to haveshifted between the times the two pictures were taken, but significantportions of the two images appear to be unshifted, it may be assumedthat the object moved. The amount of shift may be converted into variousmotion information about the object, such as lateral movement. Thedirection of movement may easily be determined. If the distance to theobject can be determined, the amount of movement may be calculated, andthat in turn may be converted into the average velocity of thatmovement, based on the time between taking the two pictures. Other typesof useful information may also be determined based on an apparent shiftof all or a portion of the images.

Other processing techniques may also be used, depending on theapplication. For example:

Coaxial Image Alignment—Because of the separation distance between thetwo lenses, the two images being captured may not be coaxial—i.e., thepart of the scene that appears at the center of one image may be offsetfrom the center of the other image. This relative image shift varieswith the distance to the subject, and may need to be corrected for someapplications, such as zoom emulation. Manufacturing tolerances may alsocause some lateral and/or rotational displacement between the twoimages. Such corrections can be made during the processing of theimages.

Photometric Matching—Due to manufacturing variations in the imagesensors and optics, correction and normalization for luminance and/orchrominance may be required.

Anti-Aliasing—Anti-aliasing of the individual images—in particular inthe overlap regions between the two images—may be necessary due to thediscrete pixel structures in the two images.

Motion Blur Reduction—This may be useful for video as a post-productiontechnique, among other uses. A highly blurred frame (due to motionduring the interval in which the image is being sensed) may be replacedwith a motion-interpolated, repositioned cloned frame from before orafter the blurred frame. Motion in the image from one lens may similarlybe corrected if the image from the other lens, taken at a differenttime, is not blurred. Other sensor data (such as accelerometer data toindicate the camera was moving) may be used to identify potentiallyblurred frames.

Noise Reduction—A variety of integration and signal processingtechniques may be employed to reduce the visual ‘noise’ from imagescaptured at low light levels.

Mosaic construction—Multiple pictures may be taken with the narrow fieldof view lens, pictures which collectively cover the area depicted in thepicture from the wide field of view lens. Using the wide image forcontextual reference, the narrow images may then be digitally stitchedtogether to create a digital image covering most or all of the widefield of view picture, but having the fine detail of the narrow field ofview images.

User memory aid—The wide picture may be used to provide overall contextfor the related narrow picture, so that the user can remember variousinformation about the narrow picture, such as where the picture wastaken and what the circumstances were. The saved images may be helpfulto the user in other ways as well.

Many of the various techniques discussed herein may be used in threedifferent modes—viewfinder, shoot, and post-processing. In theviewfinder mode, the main objective is to present an image (e.g., anintermediate zoomed image) to the camera's display quickly, so that theuser can compose the frame for still or video capture. The quality ofthe displayed picture only needs to be good enough for visualcomposition on that display. This permits down sampling of the outputfrom the image sensors, which can greatly reduce the computational load.In some embodiments, only the image from one lens may be used inviewfinder mode, although that image may be digitally zoomed. Variousoperations may be performed in the viewfinder mode, such as but notlimited to: 1) check the zoom setting, 2) select the best image (narrowor wide field of view) for that zoom setting, 3) capture the image at anappropriate resolution, 4) digitally zoom the image to the desired zoomsetting, and 5) show the zoomed image on the device's display.

In the shoot mode, the complete output from the captured images, alongwith suitable metadata, may be stored and processed to produce ahigh-quality result. These operations may include, but are not limitedto: 1) capture both images and store at full resolution, 2) storemetadata associated with the images (such as time, GPS reading, desiredzoom setting at time picture was taken, etc., 3) process images toproduce a review image for the viewfinder (will typically have betterimage quality than the image displayed in the viewfinder mode but lessquality than is possible with post processing).

In the post-processing mode, various image enhancement techniques may beused to improve the quality of the final pictures produced from thestored images. Such post-processing may be performed in the cameradevice, or may be performed in an external device that has moreprocessing power. Post-processing may be performed on the originalrecorded images from the two lenses, and/or may be performed on anintermediate result of those two recorded images. These operations mayinclude, but are not limited to: 1) allow user to vary zoom setting (maybe different than the zoom setting selected at shoot time), and producehigh-quality image at the new zoom setting, 2) perform various otherimage processing such as image registration, anti-aliasing, colorbalancing across images, global texture enhancement, stereo and motionprocessing, etc., 3) provide review display appropriate for theavailable display screen, 4) save this high-quality image, 5) archiveoriginal data to allow future reprocessing. Post processing may beperformed in the camera device, in a separate processing device, or in acombination of both.

Camera-Based Bar Code Reader and Display

Various embodiments of the invention relate to a handheld user devicethat takes a standard digitized picture of a bar code and analyzes theimage to determine the numbers encoded into the bar code. In addition,the device may present a bar code on its display screen, which can beused for various purposes. In some embodiments, a specialized cameralens may be used on the camera to allow a picture to be taken of closeup objects (such as a printed bar code), even though the lens isnormally focused for more distant objects. Within the context of thisdocument, the term ‘focus distance’ is used to describe the distancebetween the front of the camera lens and the object being photographedwhen the image of the object is in focus, i.e., when that image isfocused at the plane of the optical sensor.

FIG. 4 shows a multi-function handheld user device with a built-incamera, according to an embodiment of the invention. Device 410 is shownwith a display 420 and a camera lens 430. The rest of the camera, aswell as a processor, memory, radio, and other hardware and softwarefunctionality, may be contained within the device and is not visible inthis figure. Although the illustrated device 410 is depicted as having aparticular shape, proportion, and appearance, this is for example onlyand the embodiments of the invention may not be limited to thisparticular physical configuration. In some embodiments, device 410 maybe primarily a camera and display device, without much additionalfunctionality. In other embodiments, device 410 may have many otherfunctions unrelated to the camera. For ease of illustration, the display420 and camera lens 430 are shown on the same side of the device, but inmany embodiments the lens will be on the opposite side of the devicefrom the display, or alternately on an edge side of the device, so thatthe display can operate as a viewfinder for the user. In someembodiments, there may be different lenses at different locations on thedevice, with each lens capable of working with an optical sensor to takepictures.

FIG. 5 shows a camera system, according to an embodiment of theinvention. In the illustrated embodiment of camera system 500, a primarylens 510 may focus an optical image on an optical sensor 520. Primarylens 510 may comprise one or more pieces of optically refractivematerial that collectively focus an image of a distant object onto thereceptors of the optical sensor 520. The primary lens may be chosen sothat the range of distances to the object that will cause the image tobe properly focused at the sensor are suitable for the camera's typicalintended use (for example, from 6 feet to infinity, although this isjust an example). The optical sensor itself may comprise a rectangulararray of light sensors, where each light sensor senses the light thatwill make up no more than one pixel in the sensed image. In someembodiments, multiple light sensors, each sensing a different spectralcolor, will be clustered together to collectively produce one coloredpixel in the sensed image.

The image sensed by optical sensor 520 may be stored in memory 530 as adigitized image. In some embodiments memory 530 is dedicated to storingimages, but in other embodiments memory 530 may simply be a portion of alarger memory that is also used for other purposes. In still otherembodiments, the optical sensor may serve as the storage element untilthe received image has been sufficiently processed, eliminating the needto store the received image in memory 530. One or more processors 540may be used to provide overall control of the various components of thecamera system 500, and to receive inputs from at least some of thosecomponents. A display 560 may be used for various purposes, such asoperating as a viewfinder to display the image that is being sensed, orto display an image that has already been stored. A radio 550 may beused to communicate wirelessly with other devices through antenna(s)552. One purpose may be to transmit the image, or information derivedfrom the image, to one or more other devices that can use thatinformation to derive more useful information. Various user controls 570may also be incorporated, allowing the user to control which functionsare being performed by the camera system 500. For example, the user maydetermine when to take a picture, what is to be shown on display 560,what information to transmit to another device, etc.

In some embodiments, a movable auxiliary lens 505 may be included,allowing the camera to focus on an object that is very close to thecamera (for example, less than 10 inches, but this is only an example).The auxiliary lens may be moved in and out of its close-focus positionin various ways. For example, it might slide in a directionperpendicular to the optical axis of lens 510 (as indicated in thedrawing), so that it is in the optical path of lens 510 (i.e., lightpassing through the lens 510 also passes through the auxiliary lens 505)when close-up photography is desired, and is out of that optical path atother times. In another embodiment, auxiliary lens 505 may move in adirection parallel to the optical axis so that the image always passesthrough both lenses 505 and 510, but the different positions willproperly focus objects that are at different distances from the camera.Such an auxiliary lens is shown in front of lens 510, but in otherembodiments might be behind lens 510. Rather than enabling a continuousmicro- to—macro range of focus distances, which typically requires amuch larger and more complicated lens assembly, the auxiliary lens mayhave only two operational positions, with one position allowing thecamera to take close-up pictures, and the other position allowing thecamera to take pictures of more distant objects. Various techniques maylimit the auxiliary lens to being physically stable and stationary inonly those two positions, with any intermediate position beingphysically unstable (i.e., the lens will attempt to move to one of thestable positions) and considered non-operational. For example,mechanical stops may limit the auxiliary lens to those two positions,with a spring-loaded force preventing the auxiliary lens from beingstable at any intermediate position, though this is only one example.Further, the optical characteristics of the lens system may be such thatno image will be in focus at the optical sensor when the auxiliary lensis not in either the first or second position. In some embodiments theuser may manually select which of the two positions the auxiliary lenswill be in.

In another embodiment, rather than modifying the focus distance of lens510, auxiliary lens 505 may stand alone as a completely separate lensfor taking close-up pictures, without any interaction with lens 510. Insome cases, this close-up lens may have its own optical sensor,essentially providing a separate camera for close-up photography. Instill another embodiment, auxiliary lens 505 may be omitted, and lens510 may be simply moved (as shown by the arrow) to a different distancefrom optical sensor 520 so that it will focus properly on objects thatare close to the camera. As before, the close-focus and normal-focuspositions may be defined by mechanical stops or other physicalconstraints that make lens 510 physically stable in either of those twopositions but physically unstable in intermediate positions.

FIG. 6 shows a camera reading a bar code, according to an embodiment ofthe invention. A striped-format bar code is shown, but other types ofbar code may also be used. FIG. 7 shows a flow diagram of a method ofusing a camera to read a bar code, according to an embodiment of theinvention. The following description applies to both

FIG. 6 and the flow diagram 700 in FIG. 7.

Device 410 (which may comprise the components of camera system 500) mayfirst be placed at step 710 into the proper mode for taking a picture ofa bar code. Going into this mode may have various effects on the device,such as but not limited to: 1) placing the auxiliary lens into itsoperating position for a close-up picture, or activating the separatecamera that is used for close-up pictures, 2) activating the softwarethat decodes the bar code information, and 3) activating thefunctionality that aids in focusing on the bar code image. At 720, theuser may place the camera in front of the bar code label 610 until it isdetermined that the bar code label is being sensed by the opticalsensor. In some embodiments, the user may make this determination basedon the image in the viewfinder. In other embodiments, the presence ofthe full label in the image may be automatically detected.

At 730, 740, the camera may be focused on the bar code label. In someembodiments this may involve an auto-focus function in the camera. Inother embodiments the user may change the camera's distance from thelabel until the image is in focus, as indicated at 740. If necessary,operations 720, 730, and 740 may be performed interactively andconcurrently. Because the nature of close-up photography may cause thecamera to have a fairly narrow depth of field, it may be important forthe user to accurately place the camera the correct distance from thebar code. This may be accomplished in several different ways, such asbut not limited to:

1) If the camera's display is used as a viewfinder, the user can movethe camera back and forth until the image displayed in the viewfinderappears to be in focus. An out-of-focus image in the display implies anout-of-focus image at the optical sensor.

2) A simple visible image can be projected from the front of the cameraonto the surface containing the bar code label. When the bar code is atthe right distance, the visible image may so indicate. For example, inone embodiment two narrow beams of visible light may be projected atconverging angles. When the reflected spots converge into a single spotat the center of the label, the camera is at the right distance and theimage is centered. Alternately, two more complex images may be projectedonto the bar code label, and the camera is at the right distance thenthey completely overlap. In another embodiment, a projected image willbe in focus on the label surface only when the camera is the correctdistance from the label. In some embodiments, a holographic opticalelement may be used to determine the proper camera distance.

3) Sound pulses (either audible or ultrasound) maybe generated from thefront of the camera. By measuring how long it takes the reflected soundwaves to be received by the camera, the distance to the bar code labelcan be determined.

Regardless of the focusing technique used, when the bar code image is infocus, in some embodiments an indication can be presented to the userthat the distance is correct (e.g., an audible beep, a lighted LED, avisual indication on the display, etc.)

Once the camera is at the correct distance, and the bar code is withinthe camera's field of view, the user may take the picture at 750 andstore that image in memory for further processing. If necessary, the barcode may be illuminated by light from the camera for this picture. Thisillumination may come from the built-in flash unit, or from anotherlight source on the camera. In some instances, this source ofillumination may also be used when determining the correct focusdistance for the camera.

In some embodiments, the camera may record the image of a bar code beingdisplayed on a video screen rather than a printed bar code. This maypresent different illumination considerations, since the display isself-illuminated and therefore may not require further illumination fromthe camera. Also, the smoothly reflective screen of the display maychange the focusing mechanisms that are feasible.

After the picture is taken and stored, the stored image may then beanalyzed at 760 to decode the bar code's value (e.g., the sequence ofnumbers encoded into the bar code), and this value stored in memory at770. The complexity of decoding the bar code may depend on the type ofbar code being used. For example, with a simple striped-format bar code,it may be as simple as examining a single raster scan line to measurethe width in pixels of each bar code line and measure the distance inpixels between adjacent bar code lines. These relative values may thenbe converted into the encoded sequence of numbers. If the bar codeprovides a calibration field to compensate for different perceived sizesof the bar code, the apparent distance compression caused by a rotatedimage may not need to be compensated for, and the user may not have toworry about the relative orientation between the camera and bar codelabel when the picture is taken. But if orientation is important, thefocusing aid may include a visual indication of whether the camera isproperly oriented with the bar code before the picture is taken.

Other embodiments may use other, more complicated techniques. Forexample, since some bar codes also have their encoded sequence printedin numerical symbols that are readable by a human, the analysis mayfocus on decoding those symbols rather than, or in addition to, the barcode symbology.

Once a bar code has been read and decoded, various operations may beperformed. In one operation, the stored code may be simply retained(possibly with other stored codes) until a future time and circumstancerequires that information. In another operation, further information maybe sought on the object identified by its bar code. For example, thecamera device may transmit the decoded bar code information to anotherdevice at 780, which can obtain information such as but not limitedto: 1) a description of the object associated with the bar code, 2) theprice of the object, 3) how many of the objects are available, 4) whereother such objects are located, 4) manufacturing information, 5) sizeand/or weight of the object, 6) expiration date of the object, 7) etc.In some operations this information may be transmitted back to thecamera device at 790 for storage and/or presentation to the user.

Other uses may be found for bar codes that can be implemented with thehelp of the device 410 described in this document. FIG. 8 shows a flowdiagram of a method of using bar code values, according to an embodimentof the invention. For example, in flow diagram 800 various bar codevalues may be entered into device 410 at 810, and stored at 820 forpresentation or comparison at another time. In various embodiments,these may be received through a wireless communication, may be manuallyentered through a keyboard or other manual entry device, may be enteredby taking a picture of the barcode, or may be received through atemporary signal cable connected to the device.

At 830, a bar code received in this way may be presented at a later timefor various uses, such as but not limited to: 1) a bar code mayrepresent a coupon that can be used for a purchase discount, 2) the barcode may represent an admission ticket for a public event, 3) the barcode may represent an item that was purchased online, but is to bepicked up at a local store by the purchaser, 4) etc. The bar code may bepresented by the user in various ways, such as but not limited to: 1)the bar code may be wirelessly transmitted from the user's device to thevendor's device, which can verify the validity of the code through itsown database, 2) a picture of the bar code may be displayed on theuser's device, and the vendor's device (which might be similar to theuser's device) can read and decode that picture of a bar code. Thedisplay might be the device's primary display, but in another embodimenta secondary display might be used for this purpose. Regardless of howthe bar code data is communicated, the vendor device can verify thevalidity of the code through its own database.

The user may also use the device to read other bar codes at 840, andcompare them with the stored bar code at 850. For example, the vendorsdescribed in the previous paragraph may operate in this manner. A usermay store the bar code for an item he/she is looking for, and read thebar code off a box on the shelf to verify it contains the sought-afterpurchase. Various other real-world applications may be found for usingbar codes in the ways described in this document, without requiring theuser to purchase specialized commercial bar code equipment.

The foregoing description is intended to be illustrative and notlimiting. Variations will occur to those of skill in the art. Thosevariations are intended to be included in the various embodiments of theinvention, which are limited only by the scope of the following claims.

1. A camera for processing a bar code image, comprising: an opticalsensor to sense an optical image as a rectangular array of pixels; astorage element coupled to the optical sensor to store the image asvalues for the rectangular array of pixels; a processor coupled to thestorage element to analyze the stored image; and an optical lens systemcoupled to the optical sensor having a first position and a secondposition for at least one optical component in the optical lens system;wherein the first position permits the optical lens system to focus on adistant object and the second position permits the optical lens systemto focus on a bar code at a close distance from the camera; wherein saidat least one optical component is physically stable in the first andsecond positions and physically unstable between the first and secondpositions.
 2. The camera of claim 1, wherein: the optical lens systemcomprises a primary lens to focus the distant object on the opticalsensor and said at least one optical component comprises a movableauxiliary lens coupled to the first lens; wherein the auxiliary lenspermits the camera to focus on the distant object when the auxiliarylens is in the first position and permits the camera to focus on the barcode at the close distance when the auxiliary lens is in the secondposition.
 3. The camera of claim 2, wherein the auxiliary lens is in anoptical path of the primary lens in the second position and is not inthe optical path of the primary lens in the first position.
 4. Thecamera of claim 2, wherein the auxiliary lens is in an optical path ofthe primary lens in both the first and second positions.
 5. The cameraof claim 1, wherein said at least one optical component comprises amovable primary lens; wherein the primary lens permits the camera tofocus on the distant object when the primary lens is in the firstposition and permits the camera to focus on the bar code at the closedistance when the primary lens is in the second position.
 6. A method,comprising: moving a movable first lens to a first position with respectto a second lens on a camera to permit a long focus distance for thecamera; and moving the movable first lens to a second position withrespect to the second lens to permit a short focus distance for thecamera; wherein the first lens is physically unstable in any positionother than the first and second positions.
 7. The method of claim 6,wherein the first lens is in an optical path of the second lens when inthe first position and out of the optical path of the second lens whenin the second position.
 8. The method of claim 6, wherein the first andsecond positions are manually selected by a user.